1. Field of the Invention
The present invention relates to information processing in an information processing apparatus including an image forming apparatus and an image processing system that performs a cooperative function.
2. Description of the Related Art
Nowadays, there is rapid development in electrophotographic techniques. High-quality printing results that were conventionally realized by techniques such as anastatic printing can now be realized by electrophotography. For example, recent electrophotographic techniques include binding various types of papers, and image processing such as correcting shifts in color or printing, that were not available in previous electrophotographic techniques.
Further, special finishers such as a cutting unit can be connected to electrophotographic apparatuses, so that various printing results can be achieved in the field of electrophotography. An example of such a system is illustrated in FIG. 18.
Along with such realization of various printing techniques in the field of electrophotography, a technology level of electrophotographic apparatuses has become diversified. More specifically, since it may be inappropriate to concentrate various techniques in one apparatus in terms of user-friendliness and cost, a technique matching the target level of each product may be installed in each product.
For example, cost may be preferred over function in an electrophotographic apparatus targeted for home-use and small offices.
Further, an electrophotographic apparatus retaining a certain level of function and of high performance may be required for a general office use. On the other hand, a variety of functions as well as cooperation with various finishers may be required in industrial printing, in addition to performance.
As a result, functions installed in each electrophotographic apparatus are typically different. Further, processes that can be realized by electrophotographic apparatuses in each office and on each floor may be different.
Under such circumstances, cooperation between functions becomes necessary to improve the environment in which the provided functions can be widely used.
More specifically, a printing function can be widely used by cooperation between functions included in all electrophotographic apparatuses installed in each office, instead of using only those functions that are closed inside each individual electrophotographic apparatus.
To realize such cooperation between functions, it is may be necessary to understand the types of electrophotographic apparatuses and functions connected in the printing system via a network that can be used.
However, it can be burdensome for a user to acquire such information about the apparatuses and functions. Further, such a system may become difficult for a user to handle. Therefore, a system realizing cooperative functions may be important in which the user is only required to select a function that the user wants to use from a list of usable functions, and the system determines how the process will be performed.
Further, if handling of the processing is left to the system, it can become necessary for the system to automatically solve a problem that may occur during the processing.
To realize such a system, there is a method of setting a server within a system that manages the system.
More specifically, the server has full knowledge of the electrophotographic apparatus and functions provided in a printing system connected to a network, and determines an appropriate process flow according to a user setting.
Further, there is a system in which, when a problem occurs, a server searches for a similar module (i.e., a module including a function whose input data are the same and the process result is the same) in the system. The system then searches for a substitute process flow based on the search result and automatically performs such a substituting process. Therefore, unnecessary procedures performed by a user can be reduced to a minimum.
However, such a cooperative function system may require a large investment for a small-scale office. Further, there can be other problems such as excessive traffic due to constant communication with the server, so that it may be necessary to realize cooperative function without the server.
Furthermore, as electrophotographic apparatuses become highly-functional, load distribution increases when performing the image processing as described below.
Under the present circumstances, as the number of functions increase, processes that are required to be concurrently performed also increase. As a result, a backlog is generated, which affects the performance of the entire printing process in the electrophotographic apparatus.
To solve such a problem, a load distribution process is devised by setting a plurality of locations that can perform the same process in each step of the electrophotographic process. Each function is thus performed at an appropriate timing.
Electrophotographic printing can be largely divided into four processing steps.
A first step is a process performed in a host (printer driver) that gives a print instruction. A second step is a process performed on a controller side that receives page description language (PDL) data output from the host. A third step is a process performed when the PDL data are converted into an intermediate language appropriate for processing inside the electrophotographic apparatus. A fourth step is a process performed after rasterizing the converted data into an image.
For example, if both the printer driver and the controller can perform a process such as imposition, the process can be performed at a location most suitable in consideration of other set functions. As a result, a plurality of functions that can acquire the same result using input data in different formats are beginning to exist within a system.
However, the conventional method only searches for the same function in the system as a substitute function when a problem occurs.
More specifically, a function that realizes a process using different input data will not be searched for and used as a substitute function even if the function can acquire a similar result.
Therefore, it is necessary to configure a cooperative function system which realizes load distribution and can also utilize another function as a substitute function, if the function can acquire a similar result even if the input data is different.
For example, there is a cooperative function method using a job ticket (JT) in which a function and process procedure are described (refer to Japanese Patent Application Laid-Open No. 2004-265425). In such a method, each printing function is processed according to a description in the JT and the process history is described in the JT.
However, in the method discussed in Japanese Patent Application Laid-Open No. 2004-265425, a problem may occur when function processing is being executed based on a description in a job ticket (JT), so that one of the function processing is not normally ended.
In such a case, a conventional system only detects that the information processing apparatus which processed a function before the problem occurred is not normally ended. The process based on the job ticket is discontinued, and a cancelled state is continued in the process. Therefore, a process in which a plurality of functions is cooperatively performed cannot be definitely completed.